<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--
    对象: 客观存在的一个事物
    使用对象可以存储多个有关联关系的数据  避免将这些数据存储在多个数组中 解决难以维护的问题
     []
    ages [20,30,40]
    names [zs,lisi,ww]
    scores [80,60,70]

    student    {} 空对象

    如何创建对象
    1.使用字面量创建对象
        var  student  =  {
                属性 ：属性值 ,
                属性 ：属性值 ,
                属性 ：属性值
        }

     2.动态的方式创建对象

     var  student = {}
     student.name = 'zs'
     student.age = 20
     student.say = function(){}

-->

<script>
    // key:value
    // age  name  score   对象中静态属性  动态属性
    var student = {
        age: 20,
        name: 'lisi',
        score: 80,
        say: function () {  //匿名函数
            console.log("hello")
        }
    }
    console.log("student:", student);
    student.sex = '男'
    console.log("student:", student);
    // 对象中属性的访问方式  对象名.属性名     var arr = new Array()  arr.push()  arr.length

    console.log('name:', student.name);
    console.log('age:', student.age);

    // 对象中函数的访问方式  对象名.属性名()
    student.say()


    // var person = {}

    var person = new Object()  //{}

    console.log('person', person);
    // 添加对象中的属性
    person.age = 20
    person.name = 'lisi'
    person.say = function () {
        console.log("hello person")
    }
    console.log('person', person);

    console.log(person.age);
    person.say()


    // 使用构造函数创建对象  构造作用 ->  用于对象的创建    new Array()   []

    function Student(age, name, say) {
        // this  指代当前对象
        this.name = name
        this.age = age
        this.say = say
    }


    function sayMsg() {
        console.log("hello say")
    }

    var stu = new Student(20, 'zs', sayMsg)
    console.log(stu);
    console.log(stu.name);
    stu.say()


</script>
</body>
</html>